iT邦幫忙

2026 iThome 鐵人賽

DAY 9
0
AI Security

Agent的系統防禦升級系列 第 9

DAY 9 // AgentDojo環境衝突實作開始

  • 分享至 

  • xImage
  •  

本文紀錄今天從安裝、除錯到成功載入套件的實作過程。


初始安裝與環境落差

在 Terminal 中嘗試以預設指令進行安裝:

py -m pip install agentdojo

在 Visual Studio 新建 .py 檔測試腳本:

import os
from agentdojo import load_benchmark
from agentdojo.agent_pipeline import PromptInjectionDefense

執行就跳出 ModuleNotFoundError: No module named 'agentdojo' 錯誤。

https://ithelp.ithome.com.tw/upload/images/20260902/20183776olonOx9O2g.png

之後發現,這不是套件沒下載成功,VS Code 所使用的 Python 解譯器(Interpreter)與 terminal 下載時使用的環境不一致:

  • 系統預設 py 指令走的是 Python 3.13。
  • VS Code 預設呼叫執行的是位於 .local/bin 的 Python 3.14 環境。

套件被安裝在了 Python 3.13 的目錄下,Python 3.14 自然找不到 agentdojo 模組。


解決多環境與 PEP 668 系統保護限制

為了讓 VS Code 當前的 Python 3.14 環境能夠順利載入套件,我嘗試直接指定 Python 3.14 的完整路徑進行安裝:

& 'C:\Users\cosmo\.local\bin\python3.14.exe' -m pip install agentdojo

結果遇到了第二個問題:error: externally-managed-environment (PEP 668)。

https://ithelp.ithome.com.tw/upload/images/20260902/201837761F3AUoCanE.png

系統跳出警告,指出 Python 環境是由 uv 套件管理器所託管與管理的外部環境,預設禁止直接使用 pip 進行變更,以防破壞系統底層依賴。


強制套件安裝

目前只是需要快速進行開發與功能驗證,最直接且快速的解決方式是加上 --break-system-packages 參數,強制突破外部環境保護並安裝套件:

& 'C:\Users\cosmo\.local\bin\python3.14.exe' -m pip install agentdojo --break-system-packages

若未來想遵循正規的 uv 管理規範,也可以直接改用 uv pip install agentdojo 命令來進行套件安裝。
指令執行完畢後,再次回 VS Code 執行腳本,即可成功 import 模組,準備之後的安全性測試實作。


上一篇
DAY 8 // AgentDojo 攻防戰場與評估架構
下一篇
DAY 10 // PEP 668在開發期間的功用及防護
系列文
Agent的系統防禦升級22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言